/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Tier1;

import java.rmi.RemoteException;
import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;
import java.rmi.server.UnicastRemoteObject;
import java.util.ArrayList;
import shared.*;

/**
 *
 * @author ThorNass
 */
public class JoueurImpl implements Joueur {

    public static void main(String args[]) throws Exception {
        //Récupération du service "ServiceJeu"      
        Registry registry = LocateRegistry.getRegistry("localhost", 2000);
        ServiceJeu service = (ServiceJeu) registry.lookup("ServiceJeu");
        Joueur user;
        user = (Joueur) UnicastRemoteObject.exportObject(new JoueurImpl(), 0);


        //
        service.connexion(user);
        System.out.println("Le client est abonné(e)");
        //boolean estAbonne=true;
    }
    private static final long serialVersionUID = 1L;
    private int _id = 0;
    private String _nom = "";
    private ArrayList<Carte> cartes = new ArrayList<Carte>();

    public void Joueur() throws RemoteException {
    }

    public void Joueur(String nom) throws RemoteException {
        _nom = nom;
    }

    public void setNom(String name) throws RemoteException {
        _nom = name;
    }

    public void setId(int id) throws RemoteException {
        _id = id;
    }

    public String getNom() throws RemoteException {
        return _nom;
    }

    public int getId() throws RemoteException {
        return _id;
    }

    /**
     * Donne ses cartes au joueur
     *
     * @param cartes
     */
    public void setMain(ArrayList<Carte> cartes) {
        cartes = cartes;
    }

    /**
     * Ajoute des cartes aux cartes du joueur
     *
     * @param carte
     */
    public void addCartes(ArrayList<Carte> cartes) throws RemoteException {
        for (Carte carte : cartes) {
            cartes.add(carte);
        }
    }

    /**
     * Supprime une carte parmis celles du joueur
     *
     * @param carte
     */
    public void removeCarte(Carte carte) throws RemoteException {
        cartes.remove(carte);
    }

    /**
     * @return Nb de carte du joueur
     */
    public int getNbCartes() throws RemoteException {
        return cartes.size();
    }

    @Override
    public int getScrore() throws RemoteException {
        // TODO Auto-generated method stub
        return 0;
    }
}